約 3,962,663 件
https://w.atwiki.jp/javamock/pages/2.html
Java トップページ メニュー Hello WorldHelloWorld.java StartHello.bat 変数 型プリミティブ型char boolean byte short int long float double リファレンス型String Date Calendar BigDecimal 演算子算術演算子 代入演算子 関係演算子 論理演算子 条件演算子 ビット演算子 new演算子 instanceof演算子 制御構文if switch while for break continue return 配列 2次元配列 クラス テキストエディタ作成テキストエディタ作成ver1.0 テキストエディタ作成ver1.1 テキストエディタ作成ver1.2 テキストエディタ作成ver1.3 メモ total - today - yesterday - サン・マイクロシステムズ イベント情報 サン・マイクロシステムズ キャンペーン情報 wiki練習 ここを編集
https://w.atwiki.jp/javastudy/pages/36.html
★キーボード入力 ■キーボードからのデータ入力 キーボードから半角1文字のデータを入力する int a; a = System.in.read(); ■BufferedReader 行単位でデータを読み込む…BufferedReaderクラスを使う Readerクラスのオブジェクトを引数として受け取る InputStreamReader a = new InputStreamReader(System.in); BufferedReader b = new BufferedReader(a); ※ readLine()メソッド…読み込んだ1行のデータをStringクラスの文字列で返す。 データがなくなるとnullを返す String c = b.readLine(); ■ サンプルプログラム import java.io.*; class NumberGame { public static void main(String[] args) { try { BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); int a, b = 7; System.out.println("名前を入力してください"); String name = in.readLine(); System.out.println("数あてクイス!0から9の数字を入力してね"); String c = in.readLine(); a = Integer.parseInt(c); while(a != b) { if((a == b-1) || (a == b+1)) System.out.println("おしい!"); else if(a b+1) System.out.println("もっと小さい数です"); else if(a b-1) System.out.println("もっと大きい数です"); c = in.readLine(); a = Integer.parseInt(c); } System.out.println("正解!"+ name + "さん、おめでとう!!"); } catch(Exception ie) { System.out.println("エラーです"); } } } ■サンプルコード import java.io.*; class TransWord { public static void main(String[] args) { try { BufferedReader in = new BufferedReader(new FileReader("mydic.txt")); String a = args[0]; String eword, jword = null; while((eword = in.readLine()) != null) { if(a.equals(eword)) { jword = in.readLine(); break; } } if(jword == null) System.out.println(a + "はありませんでした。"); else System.out.println(jword); in.close(); } catch (FileNotFoundException e) { System.out.println("ファイルがありません。"); } catch (Exception e) { System.out.println("コマンドファイルがありません。"); } } } ■サンプルコード import java.io.*; class MyEditor { public static void main(String[] args) { try { FileWriter out = new FileWriter(args[0]); BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); String data; int i = 1; System.out.println("データを入力して下さい。(終了:0)"); while(!(data = in.readLine()).equals("0")) out.write(data + "\n"); System.out.println("終了します。"); out.close(); } catch (Exception e) { System.out.println(e); // エラーが起こった場合にその内容を表示 } } }
https://w.atwiki.jp/ce00582/pages/1801.html
class pro{ public static void main(String args[]){ double tl,tr,b1,w1; int n; double th[]=new double[101]; for (n=1;n 101;n++){ th[n]=0.02*n; } tl=0.2; tr=0.1; w1=wel(th,tl,tr); System.out.println(w1); } public static double wel(double[] th,double tl,double tr){ double c1,l1,w1; int n; w1=0; for (n=1;n 101;n++){ c1=cx(th[n],tl,tr); l1=lx(th[n],tl,tr); w1=w1+u(c1,1-l1); } return w1; } public static double bud(double[] th,double tl,double tr){ double c1,y1,b1; int n; b1=0; for (n=1;n 101;n++){ c1=cx(th[n],tl,tr); y1=th[n]*lx(th[n],tl,tr); b1=b1+y1-c1; } return b1; } public static double cx(double th1,double tl,double tr){ double l1,w1,c1; l1=lx(th1,tl,tr); w1=(1-tl)*th1; c1=w1*l1+tr; return c1; } public static double lx(double th1,double tl,double tr){ double w1,l1; w1=(1-tl)*th1; l1=(w1-tr)/(2*w1); if (l1 0)l1=0; return l1; } public static double u(double c1,double x1){ double c2,x2,z2,u2; c2=c1; x2=x1; z2=0; if (c2 0.001)z2=100; if (x2 1)z2=100; if (x2 0)z2=100; if (z2 50)c2=0.01; if (z2 50)x2=0.5; u2=Math.log(c2)+Math.log(x2); if (z2 50)u2=-999; return u2; } }
https://w.atwiki.jp/chirin/pages/15.html
JavaBeans JavaBeansとは 「JavaBeansとは、開発ツール上でビジュアル操作によって扱える、再利用可能なソフトウェア・コンポーネントである」 Java Beansはプログラムの再利用を目的としており、汎用的なロジックで構成されているクラスである。Javaで作成された移植可能なプラットフォームに依存しないコンポーネント・モデルで、JavaBean仕様に従う。 JavaBeansに必要なもの 様々な条件があるが、主なものは以下の通り。 引数なしのpublicコンストラクタでオブジェクトを生成できる 必要に応じて「プロパティ」「イベント」「メソッド」を備える 必要に応じて「Serializable」インターフェイスを実装する(シリアライズが可能になるようにする。) 「プロパティ」とはカプセル化したフィールドのこと。つまり、privateなフィールドに対し、読み書きを行うアクセサメソッド(getter、setter)を用意したものを意味する。 「メソッド」は、一般的なJavaのメソッドのこと。 「イベント」は、あるオブジェクトから別のオブジェクトに対して行われるメッセージを意味している。イベントが発生したオブジェクトのことをイベントソース (Event Source) と呼び、イベント発生を通知されるオブジェクトのことをイベントリスナ (Event Listener) と呼ぶ。 イベントの良い例が JDK1.1 の AWT である。イベントソース (AWT コンポーネント) は『ボタンが押された』というイベントを、自分自身に登録してあるイベントリスナに通知する。イベントリスナはボタン押下のイベントを受け取って適切な処理をする。 外部サイト JavaBeans仕様
https://w.atwiki.jp/ce00582/pages/3909.html
import com.sun.j3d.utils.universe.SimpleUniverse; import com.sun.j3d.utils.geometry.ColorCube; import javax.media.j3d.BranchGroup; public class game0922{ public game0922(){ SimpleUniverse universe = new SimpleUniverse(); BranchGroup group = new BranchGroup(); group.addChild(new ColorCube(0.3)); universe.getViewingPlatform().setNominalViewingTransform(); universe.addBranchGraph(group); } public static void main( String[] args ) { new game0922(); } }
https://w.atwiki.jp/ompmemo/pages/14.html
exc-tool-java
https://w.atwiki.jp/javamock/pages/25.html
int Javaにおいてintはプリミティブ型の1つです。 intはメモリ領域を32ビット確保します。 intは符号付き整数を扱うので、2の31乗(2147483648)より、値の範囲は-2147483648~2147483647となります。 9桁の数値までを扱う場合intで良いです。 int 使用例 1 IntSample1.java class IntSample1 { public static void main(String[] args) { int intMax = 2147483647; int intMin = -2147483648; System.out.println("intMax" + intMax); System.out.println("intMin" + intMin); } } 実行結果 C \java javac IntSample1.java C \java java IntSample1 intMax2147483647 intMin-2147483648 int 値範囲を超えた場合 1 IntSample2.java class IntSample2 { public static void main(String[] args) { int intMax = 2147483648; int intMin = -2147483649; System.out.println("intMax" + intMax); System.out.println("intMin" + intMin); } } コンパイル結果 C \java javac IntSample2.java IntSample2.java 5 整数 2147483648 が大き過ぎます。 int intMax = 2147483648; ^ IntSample2.java 6 整数 -2147483649 が大き過ぎます。 int intMin = -2147483649; ^ エラー 2 個 以上のようにコンパイルエラーが起こります。 int 値範囲を超えた場合 2 IntSample3.java class IntSample3 { public static void main(String[] args) { int intMax = 2147483647; int intMin = -2147483648; System.out.println("intMax - intMin " + (intMax - intMin)); } } 実行結果 C \java javac IntSample3.java C \java ;java IntSample3 intMax - intMin -1 上記プログラムは本来なら2147483647-(-2147483648)で intの値範囲を超えてしまいエラーになりそうですが、intの値は循環するそうです。 循環するので上記計算は 2147483647-(-2147483648) ↓ 2147483647+2147483648 ↓ 2147483648はint型の範囲を超えているので超えた分が循環し-2147483648になる 2147483647-2147483648 ↓ -1 となることがわかります
https://w.atwiki.jp/maisenakajima/pages/21.html
udevadm の出力結果 [root@rhel6 ~]# udevadm info --query=path --name=/dev/sda /devices/pci0000 00/0000 00 1f.2/host2/target2 0 0/2 0 0 0/block/sda [root@rhel6 ~]# udevadm info --query=symlink --name=/dev/sda block/8 0 disk/by-id/ata-ST330621A_7EF27GH9 disk/by-id/scsi-SATA_ST330621A_7EF27GH9 disk/by-path/pci-0000 00 1f.2-scsi-0 0 0 0 [root@rhel6 ~]# udevadm info --query=property --name=/dev/sda UDEV_LOG=3 DEVPATH=/devices/pci0000 00/0000 00 1f.2/host2/target2 0 0/2 0 0 0/block/sda MAJOR=8 MINOR=0 DEVNAME=/dev/sda DEVTYPE=disk SUBSYSTEM=block ID_ATA=1 ID_TYPE=disk ID_BUS=ata ID_MODEL=ST330621A ID_MODEL_ENC=ST330621A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20 ID_REVISION=3.39 ID_SERIAL=ST330621A_7EF27GH9 ID_SERIAL_SHORT=7EF27GH9 ID_ATA_WRITE_CACHE=1 ID_ATA_WRITE_CACHE_ENABLED=1 ID_ATA_FEATURE_SET_HPA=1 ID_ATA_FEATURE_SET_HPA_ENABLED=1 ID_ATA_FEATURE_SET_PM=1 ID_ATA_FEATURE_SET_PM_ENABLED=1 ID_ATA_FEATURE_SET_SECURITY=1 ID_ATA_FEATURE_SET_SECURITY_ENABLED=0 ID_ATA_FEATURE_SET_SECURITY_ERASE_UNIT_MIN=0 ID_ATA_FEATURE_SET_SMART=1 ID_ATA_FEATURE_SET_SMART_ENABLED=1 ID_ATA_FEATURE_SET_AAM=1 ID_ATA_FEATURE_SET_AAM_ENABLED=0 ID_ATA_FEATURE_SET_AAM_VENDOR_RECOMMENDED_VALUE=128 ID_ATA_FEATURE_SET_AAM_CURRENT_VALUE=0 ID_ATA_DOWNLOAD_MICROCODE=1 ID_ATA_SATA=1 ID_ATA_SATA_SIGNAL_RATE_GEN1=1 ID_SCSI_COMPAT=SATA_ST330621A_7EF27GH9 ID_PATH=pci-0000 00 1f.2-scsi-0 0 0 0 ID_PART_TABLE_TYPE=dos UDISKS_PRESENTATION_NOPOLICY=0 UDISKS_PARTITION_TABLE=1 UDISKS_PARTITION_TABLE_SCHEME=mbr UDISKS_PARTITION_TABLE_COUNT=2 UDISKS_ATA_SMART_IS_AVAILABLE=1 DEVLINKS=/dev/block/8 0 /dev/disk/by-id/ata-ST330621A_7EF27GH9 /dev/disk/by-id/scsi-SATA_ST330621A_7EF27GH9 /dev/disk/by-path/pci-0000 00 1f.2-scsi-0 0 0 0 [root@rhel6 ~]# udevadm info --query=all --name=/dev/sda P /devices/pci0000 00/0000 00 1f.2/host2/target2 0 0/2 0 0 0/block/sda N sda W 36 S block/8 0 S disk/by-id/ata-ST330621A_7EF27GH9 S disk/by-id/scsi-SATA_ST330621A_7EF27GH9 S disk/by-path/pci-0000 00 1f.2-scsi-0 0 0 0 E UDEV_LOG=3 E DEVPATH=/devices/pci0000 00/0000 00 1f.2/host2/target2 0 0/2 0 0 0/block/sda E MAJOR=8 E MINOR=0 E DEVNAME=/dev/sda E DEVTYPE=disk E SUBSYSTEM=block E ID_ATA=1 E ID_TYPE=disk E ID_BUS=ata E ID_MODEL=ST330621A E ID_MODEL_ENC=ST330621A\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20 E ID_REVISION=3.39 E ID_SERIAL=ST330621A_7EF27GH9 E ID_SERIAL_SHORT=7EF27GH9 E ID_ATA_WRITE_CACHE=1 E ID_ATA_WRITE_CACHE_ENABLED=1 E ID_ATA_FEATURE_SET_HPA=1 E ID_ATA_FEATURE_SET_HPA_ENABLED=1 E ID_ATA_FEATURE_SET_PM=1 E ID_ATA_FEATURE_SET_PM_ENABLED=1 E ID_ATA_FEATURE_SET_SECURITY=1 E ID_ATA_FEATURE_SET_SECURITY_ENABLED=0 E ID_ATA_FEATURE_SET_SECURITY_ERASE_UNIT_MIN=0 E ID_ATA_FEATURE_SET_SMART=1 E ID_ATA_FEATURE_SET_SMART_ENABLED=1 E ID_ATA_FEATURE_SET_AAM=1 E ID_ATA_FEATURE_SET_AAM_ENABLED=0 E ID_ATA_FEATURE_SET_AAM_VENDOR_RECOMMENDED_VALUE=128 E ID_ATA_FEATURE_SET_AAM_CURRENT_VALUE=0 E ID_ATA_DOWNLOAD_MICROCODE=1 E ID_ATA_SATA=1 E ID_ATA_SATA_SIGNAL_RATE_GEN1=1 E ID_SCSI_COMPAT=SATA_ST330621A_7EF27GH9 E ID_PATH=pci-0000 00 1f.2-scsi-0 0 0 0 E ID_PART_TABLE_TYPE=dos E UDISKS_PRESENTATION_NOPOLICY=0 E UDISKS_PARTITION_TABLE=1 E UDISKS_PARTITION_TABLE_SCHEME=mbr E UDISKS_PARTITION_TABLE_COUNT=2 E UDISKS_ATA_SMART_IS_AVAILABLE=1 E DEVLINKS=/dev/block/8 0 /dev/disk/by-id/ata-ST330621A_7EF27GH9 /dev/disk/by-id/scsi-SATA_ST330621A_7EF27GH9 /dev/disk/by-path/pci-0000 00 1f.2-scsi-0 0 0 0
https://w.atwiki.jp/ce00582/pages/3571.html
import java.net.*; import java.io.*; public class game0401{ public static void main(String[] args) { try { String url = URLEncoder.encode("http //wisdom.sakura.ne.jp/system/java/net/javanet5.html", "UTF-16"); System.out.println(url); } catch(Exception e) { System.err.println(e); } } }
https://w.atwiki.jp/n-3104/pages/14.html
JUnit4 Mockオブジェクトの利用 ソースの配置フォルダとパッケージ JUnit4 4からはアノテーションが使えてすっきりする。 POJOとして作成できる(TestCaseの継承が不要)。 テストメソッド名に「test」プレフィックスが不要。その代わり@Testアノテーションを付ける。 assertはorg.junit.Assertをstaticインポート。Eclipseのウィザードでクラスを作ると入れておいてくれる。 @Ignoreを利用すると、そのメソッドについてはテストしないように出来る。作成中のテストメソッドに使うと便利。 3までは junit.framework.- パッケージを利用したが、4からは org.junit.- を利用する。 @Parametersを使うことで、テストデータとテストデータの組み合わせの数だけテストを実行することが出来る。 @Test(timeout = 1000)とすることで、テストに掛かる時間にタイムアウトを設けられる。パフォーマンスが重要な処理などで利用できそう。 参考サイト |http //www.okisoft.co.jp/esc/testing/JUnit4-TestNG.html|4の使い方について丁寧に説明しているサイト。 |http //www.devx.com/Java/Article/31983+codeitemarea|JUnitのサイトで紹介されている4の解説サイト。英語だがサンプルコードもあり、概要がよく整理されている。@Parametersの例もある。 |http //www.junit.org/taxonomy/term/12|JUnitのホームページのArticlesのページ。他にも色々リンクがあり、例えばMockオブジェクトの利用法に関するリンクなどもある。 Mockオブジェクトの利用 バグがないプログラムのつくり方|http //www.amazon.co.jp/gp/product/479810714X/に記述があったが、Mockオブジェクトはテストクラスのインナークラスとすると管理がしやすいし、Mockオブジェクト内でassertを行ったり、クラスが呼ばれたかどうかを調べることも出来る。 具体的には、以下のようにHogeとFugaがあった際に、FugaのMockを作ることで以下のテストが出来る。 Hogeが追加された全てのFugaのfugafugaメソッドを実行しているか。HogeTestのcountフィールドを利用して確認している。 HogeがFugaのfugafugaメソッドを呼び出す際に正しくプレフィックスやサフィックスを追加しているか。HogeMock内のassertEqualsで確認している。 しかし、インナークラスにこんな使い方があるとは、勉強になる。 import java.util.ArrayList; import java.util.List; public class Hoge { List Fuga list = new ArrayList Fuga (); public void hogehoge(String message) { for (int i = 0; i list.size(); i++) { Fuga fuga = list.get(i); fuga.fugafuga("+++" + message + "+++"); } } public void addFuga(Fuga fuga) { list.add(fuga); } } public interface Fuga { void fugafuga(String message); } import static org.junit.Assert.assertEquals; import org.junit.Test; public class HogeTest { // HogeによってFugaのfugafugaメソッドが呼ばれた回数 private int count; private class FugaMock implements Fuga { public void fugafuga(String message) { // HogeがFugaのfugafugaを呼び出す際に、プレフィックスとサフィックスを // 正しく追加できているかを確認 assertEquals("+++Hello*+++", message); // HogeがFugaのfugafugaメソッドを実行した回数を確認するためインクリメント count++; } } protected void setUp() { this.count = 0; } @Test public void testHogehoge() { Hoge hoge = new Hoge(); hoge.addFuga(new FugaMock()); hoge.addFuga(new FugaMock()); hoge.hogehoge("Hello*"); assertEquals(2, this.count); } } ソースの配置フォルダとパッケージ バグがないプログラムのつくり方|http //www.amazon.co.jp/gp/product/479810714X/によると、テスト対象のソースと同一パッケージの同一フォルダが良いらしい。理由としては、別フォルダにするとテストクラスの作り忘れが起きやすいからだそうだ。確かにそんな気もするので、今後は同一フォルダに入れるようにしよう。 個人的には、パッケージは同じでもソースフォルダは別にした方が、テストクラス用のユーティリティクラスを作った際などに分かりやすくてよい気もするんだけど。この辺はプロジェクトの規模とメンバーのレベルによるのかな。